home *** CD-ROM | disk | FTP | other *** search
- #include "3DDEF.H"
- #include "GLOBAL.H"
- #include "FORWARD.H"
- #include "XCODE.H"
- #include "doslib.h"
-
- UBYTE argv0[MAXLINE];
- UBYTE options[MAX_OPTION][MAXLINE];
-
- extern UWORD view_flag;
- extern WORD VERSION;
-
- void
- main(int argc,STR argv[])
- {
- UNIT *wp;
- int flag;
- int i,fc,oc;
-
- if (argc > 10000) {
- printf("隠しコマンドなんて無いよぉ");
- }
- B_PRINT("ThunderWord V1.2 (C) 1992,1993 満開製作所");
-
-
- etc_begin();
- fep_init_first();
-
- DUM_FLAG = 0;
-
- strcpy(argv0,argv[0]); /* 自分を保存する */
-
- init_first(); /* 初期化、カレントは0番になる */
- for(oc=0,i=1;i<argc;i++) { /* 0番以外のすべてのパラメータについて */
- if ((*argv[i] == '-') || (*argv[i] == '/')) { /* オプションである */
- if (oc < MAX_OPTION) {
- strcpy(options[oc++],argv[i]);
- }
- }
- }
- *options[oc] = EOS;
- init_parameters(); /* パラメータをデフォルトにする */
- if (!DUM_FLAG && KNJCTRL(50) < 200) {
- DUM_FLAG = 1;
- etc_beep();
- B_PRINT("\n\rASK68K.SYS のバージョンが 2.00 以前なので、ダミーモードにします[Y]?");
- etc_wait_y();
- }
- /* fep_init(); */ /* fep を初期化 */
- fep_key_clear();
- for(fc=0,i=1;i<argc;i++) { /* 0番以外のすべてのパラメータについて */
- if ((*argv[i] == '-') || (*argv[i] == '/')) { /* オプションである */
- continue;
- }
- if (fc < MAX_FILE) { /* ファイル名である */
- ctrl_x_ctrl_f1(argv[i]);
- fc++;
- } else {
- under_print0((STR)"ファイルの数が最大を越えました。 [Y]? ");
- etc_beep();
- etc_y_exit();
- }
- }
- if (fc >=2 ) { /* 複数の指定があったら、最後に指定されたファイルになってるので */
- ctrl_x_x(); /* 最初のファイルにする */
- }
- under_blanc();
-
- if (!fc) { /* ファイル指定が無かった */
- flag = file_open(fc,(STR)"dummy");
- file_set_text(fc,fc);
- if (flag >= 0) { /* 正常 */
- buff_read_file_x(fc);
- /* fc なるバッファにファイルを読み込む */
- } else { /* エラー */
- error("ファイルオープンエラーです");
- }
- file_close(fc);
- }
- if (VERSION >= 300 ) {
- etc_begin2();
- }
- fep_init();
- work(); /* カレントに対して作業する */
- init_exit();
- }
-
- #if 1
-
- /* エラーメッセージの表示 */
- void
- error(char *error_message)
- {
- UBYTE w[MAXLINE];
- UBYTE c;
-
- sprintf(w,"エラーが発生しました:%s [Push 'Y' Key]",error_message);
- under_print0(w);
- while(1) {
- etc_beep();
- c = toupper(fep_inkey_raw());
- if (c == 'Y') {
- return;
- }
- if (c == 'C'-'@') {
- init_exit();
- etc_exit(1);
- }
- }
- }
-
- #else
-
- /* エラーメッセージの表示 */
- void
- error(char *error_message)
- {
- }
-
- #endif
-
-
- #if 0
- void
- check(STR s,int i)
- {
- printf("%s::%d\n",s,i);
- getchar();
- }
-
- void
- main_dump_files()
- {
- int i;
-
- etc_beep();
- window0();
- for(i=0;i<16;i++) {
- printf("%d:[%s][%s]\n",i,
- FILE_NAMES[i].CONTENT,
- FILE_NAMES_ST[i].CONTENT);
- }
- }
- #endif
-
- #if 1
- void
- etc_trim_tail()
- {
- UBYTE l[VERY_LONG_LINE*8];
- register UNIT *wp;
-
- if (TAIL->MAE == HEAD) {
- return;
- }
- while(!line_length(wp = TAIL->MAE)) {
- if (wp != HEAD) {
- if (wp->MAE == HEAD) {
- return;
- }
- line_get_body(l,wp->MAE);
- if (etc_jlast(l) != CR) {
- if (CL == wp) {
- UBYTE s[VERY_LONG_LINE*8];
- strcat(l,"あ");
- if (cut_line(l,s,l,CURRENT_JIZUME) == 2) {
- /* 前の行は1行を成立させている */
- break;
- } else {
- ctrl_b();
- }
- /* CL = CL->MAE;*/
- }
- line_delete1_echo_after_bag(TAIL->MAE);
- } else {
- break;
- }
- } else {
- break;
- }
- }
- }
- #endif
-
- void
- main_set_view_flag()
- {
- view_flag = strchr(FILE_NAMES_ST[WDATA[CWN].WTEXTS].CONTENT,'[');
-
- }
-
-